Analog Filter Design Notebook

Linear filters are certainly the workhorse of signal processing. The signal processing packages allow a user to design Butterworth, Chebyshev (type I and type II), elliptic, and Bessel filters using the object <#679#>DesignFilter<#679#>. For lowpass and highpass filters, <#680#>DesignFilter<#680#> takes eight arguments: <#681#>Analog<#681#>, filter class (<#682#>Butterworth<#682#>, …), filter type (<#683#>Lowpass<#683#>, …), time variable, δ1, δ2, w1, and w2. Two additional arguments, w3 and w4, are necessary for specifying a bandpass or bandstop filter. Frequencies are in rad/sec and given in ascending order (e.g., for a lowpass filter, w1 is wp and w2 is ws). The magnitude response resides on #math257#[1 - δ1, 1] for all passbands and #math258#[0, δ2] for all stopbands. Since the Laplace and Fourier rule bases can transform the time-domain expressions returned by <#684#>DesignFilter<#684#>, the pole-zero diagram and frequency response of a filter can be plotted using <#685#>PoleZeroPlot<#685#> and <#686#>MagnitudePhasePlot<#686#>.

The Notebook introduces the topic of filter design and guides the reader through several design examples. These examples include a lowpass design example for each filter type, as well as a bandpass, bandstop, and highpass design example. Using animation, the student gets a chance to visualize the changes in the filter's magnitude response as one design parameter varies (two animations are provided--- one for ripple control parameter ε and one for the filter order N). The last section of the Notebook examines the effects of precision in implementation--- the student can truncate the coefficients of the filter and observe the frequency response.